package com.ichengzi.audit.human.repository.es.service;

import java.util.List;

public interface ElasticSearchService {

    /**
     * 创建索引
     * @param indexName 索引名称
     * @return boolean true创建成功、false创建失败
     */
    boolean createIndex(String indexName);


    /**
     * 判断index是否存在
     * @param indexName 索引名称
     * @return boolean true存在、false不存在
     */
    boolean existsIndex(String indexName);

    /**
     * 删除索引
     * @param indexName 索引名称
     */
    void deleteIndex(String indexName);

    /**
     * 插入文档
     * @param index 索引名称
     * @param doc 文档信息
     */
    void addDocument(String index,Object doc);

    /**
     * 更新文档
     * @param index 索引名称
     * @param id 文档标识
     * @param doc 文档信息
     */
    void updateDocument(String index, String id, Object doc);

    /**
     * 根据id查询文档
     * @param index 索引名称
     * @param id 文档id
     */
    void getDocumentById(String index, String id);

    /**
     * 批量插入文档
     * @param index 索引名称
     * @param docs 文档集合
     */
    void bulkInsert(String index, List<Object> docs);
}
